package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.MyTravelTable;
import cn.wolfcode.trip.base.query.MyTravelTableQueryObject;
import com.github.pagehelper.PageInfo;

public interface IMyTravelTableService {
    /**
     * 根据攻略的id判断是否加入旅行单
     * @param strategyId
     * @return
     */
    boolean selectTableRecord(Long strategyId,Long userId);

    /**
     *保存我的旅行单
     * @param  myTravelTable
     */
    void save(MyTravelTable myTravelTable);

    /**
     * 取消保存我的旅行单
     * @param userId
     * @param strategyId
     */
    void deleteMyTravelTable(MyTravelTable myTravelTable);

    /**
     * 通过用户的id查询他的所有行程
     * @param qo
     * @return
     */
    PageInfo query(MyTravelTableQueryObject qo);

    /**
     * 通过用户的的id查询已旅行的列表
     * @param qo
     * @return
     */
    int selectTravelCount(MyTravelTableQueryObject qo);

    /**
     * 根据id删除,对应的旅行单
     * @param id
     * @return
     */
    void deleteMyTravelTableById(Long id);

    /**
     * 根据用户的id修改出行状态
     * @param id
     * @param travelStatus
     */
    void updateMyTravelTableById(Long id, Long travelStatus);
}
